﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using CondominiosSOAP.Dominio;
using CondominiosSOAP.Persistencia;

namespace CondominiosSOAP
{
    // NOTA: puede usar el comando "Rename" del menú "Refactorizar" para cambiar el nombre de clase "TransaccionesPagos" en el código, en svc y en el archivo de configuración a la vez.
    public class TransaccionesPagos : ITransaccionesPagos
    {
        private TransaccionPagoDAO transaccionPagoDAO = null;

        private TransaccionPagoDAO TransaccionPagoDAO
        {
            get
            {
                if (transaccionPagoDAO == null)
                    transaccionPagoDAO = new TransaccionPagoDAO();
                return transaccionPagoDAO;
            }
        }

        private CuotaDAO cuotaDAO = null;

        private CuotaDAO CuotaDAO
        {
            get
            {
                if (cuotaDAO == null)
                    cuotaDAO = new CuotaDAO();
                return cuotaDAO;
            }
        }
        
        public STransaccionPago CrearTransaccion(STransaccionPago sTransaccionPago)
        {
            SCuota cuota = CuotaDAO.Obtener(sTransaccionPago.Cuota.IdCuota);
            STransaccionPago transaccion = new STransaccionPago();

            transaccion.Cuota = cuota;
            transaccion.FechaOperacion = DateTime.Now;
            transaccion.TipoPago = sTransaccionPago.TipoPago;

            return TransaccionPagoDAO.Crear(transaccion);
        }
    }
}
